#ifndef LOGINWIDGET_H
#define LOGINWIDGET_H

#include <QWidget>
#include <QStackedWidget>
#include <QPushButton>

class RegisterWidget;
class ForgotWidget;

namespace Ui {
class LoginWidget;
}

class LoginWidget : public QWidget {
    Q_OBJECT

public:
    explicit LoginWidget(QWidget *parent = nullptr);
    ~LoginWidget();

    void switchToLoginPage();               //mainwindows页面展示登录页面函数
    void setupButtonStyleLeft(QPushButton *button);          //修改按钮格式
    void setupButtonStyleRight(QPushButton *button);
signals:
    void onUserSuccess();          //用户登录成功
    void onAdminSuccess();          //管理员登陆成功
    void loginRequested(const QString &tempUsername, const QString &tempPassword);       //发送账号密码到clienttcp信号
    void onUserName(const QString &UserName);
private slots:
    void switchToRegister();       //进入注册页面
    void switchToForgot();          //进入忘记密码页面
    void returnToLogin();        //返回登录页面槽
    void onLoginClicked();      //点击登录槽

public slots:
    void onReceiveLogin(bool success);    //登录验证槽

private:
    Ui::LoginWidget *ui;
    QStackedWidget *m_stackedWidget;
    RegisterWidget *m_pRegist;
    ForgotWidget *m_pForgot;
};

#endif // LOGINWIDGET_H
